home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 March
/
EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso
/
earcd
/
-archivi
/
-recent2
/
gameselect.lha
/
GameSelect
/
Setup
< prev
next >
Wrap
Text File
|
1999-03-07
|
18KB
|
566 lines
;
; $VER:GameSelect Install.Script 1.1 (2.3.1999)
;
; is GameSelect Install.Script 1.1 (2.3.1999)
; for GameSelect (>=1.3)
; (c) ACone SiTe
;
(set GLB_LANGNOTSET true)
;
; german variables
;
(if (= @language "deutsch") (
(set GLB_LANGNOTSET false)
(set
MSG_WRONGSYSVERSION (cat
"%s ist erst ab Kickstart %s lauffähig,\n"
"aber ihr System hat nur Kickstart %s.\n"
)
MSG_INSTALL "Installation"
MSG_CONFIG "Konfiguration"
MSG_DESTALL "Destallation"
MSG_QUIT "Verlassen"
MSG_WICHWAY "Wählen Sie eine Aktion aus"
MSG_WICHWAYHELP (cat
"\n"
"Installation\n"
"Das Programm wird in einem anderen Verzeichnis installiert.\n"
"\n"
"Konfiguration\n"
"Das Programm konfigurieren.\n"
"\n"
"Destallation\n"
"Die vom Programm in systemspezifischen Verzeichnissen angelegten Dateien "
"werden gelöscht. Wenn Sie dann das Programmverzeichnis löschen ist das "
"Programm komplett vom Datenträger entfernt\n"
"\n"
"Verlassen\n"
"Keine der obigen Aktionen ausführen.\n"
"\n"
)
MSG_WHICHDEST (cat
"Wählen Sie das Zielverzeichnis wohin %s installiert werden soll. "
"Das Programmverzeichnis wird vom Installationsskript selbstständig angelegt."
)
MSG_WHICHDESTHELP (cat
"\n"
"Installationsstruktur:\n"
"\n"
"ausgewähltes Zielverzeichnis\n"
" %s\n"
" programmspezifische Verzeichnisse\n"
" programmspezifische Dateien\n"
)
MSG_ENVVARS (cat
;Zu StartControl
"Soll der Joystick im "
"Mouseport beim starten unterstützt werden ?$"
;Zu ScanPath
"In welchem Verzeichnis befinden sich die "
"Spiele/Demos etc. ?$"
;Zu LastMsgDelay
"In einer Statuszeile werden alle mögliche Dinge angezeigt. "
"Wieviel Sekunden soll die Letzte Nachricht eingeblendet bleiben ?$"
;Zu BorderSize
"Wie groß soll der Anstand in Bildpunkten zwischen den einzelnen "
"Aktionselementen sein ?$"
;Zu HeightAdd
"Um wieviel Bildpunkte soll ein Aktionsknopf vergrößert werden in der "
"Höhe ?$"
;Zu ButtonWidth
"Wie breit sollen die Aktionsknöpfe sein (in Bildpunkten) ?$"
;Zu ShowWarnings
"Sollen Warnungen ausgegeben werden ?$"
;Zu PlayMusic
"Soll Musik im Hintergrund gespielt werden während der "
"Auswahl und der Vorschau ?$"
;zu files in Prefs
"In Welchem Verzeichnis befinden sich die Musikmodule ? $"
;zu MusicPath
"$"
;Zu ShowPlayTime
"Soll die Abspieldauer der Musikmodule angezeigt werden ? "
"Es gibt einige Module wodurch mit dieser Option das System "
"hängen bleibt.$"
)
MSG_NOVIEWER "Wählen Sie ein geeignetes Programm aus, das Amigaguides anzeigen kann."
MSG_NOVIEWERABORT "%s konnte nicht gefunden werden"
)
))
;
; default sets
;
(if GLB_LANGNOTSET (
(set
MSG_WRONGSYSVERSION (cat
"%s ist erst ab Kickstart %s lauffähig,\n"
"aber ihr System hat nur Kickstart %s.\n"
)
MSG_INSTALL "Installation"
MSG_CONFIG "Konfiguration"
MSG_DESTALL "Destallation"
MSG_QUIT "Verlassen"
MSG_WICHWAY "Wählen Sie eine Aktion aus"
MSG_WICHWAYHELP (cat
"\n"
"Installation\n"
"Das Programm wird in einem anderen Verzeichnis installiert.\n"
"\n"
"Konfiguration\n"
"Das Programm konfigurieren.\n"
"\n"
"Destallation\n"
"Die vom Programm in systemspezifischen Verzeichnissen angelegten Dateien "
"werden gelöscht. Wenn Sie dann das Programmverzeichnis löschen ist das "
"Programm komplett vom Datenträger entfernt\n"
"\n"
"Verlassen\n"
"Keine der obigen Aktionen ausführen.\n"
"\n"
)
MSG_WHICHDEST (cat
"Wählen Sie das Zielverzeichnis wohin %s installiert werden soll. "
"Das Programmverzeichnis wird vom Installationsskript selbstständig angelegt."
)
MSG_WHICHDESTHELP (cat
"\n"
"Installationsstruktur:\n"
"\n"
"ausgewähltes Zielverzeichnis\n"
" %s\n"
" programmspezifische Verzeichnisse\n"
" programmspezifische Dateien\n"
)
MSG_ENVVARS (cat
;Zu StartControl
"Soll der Joystick im "
"Mouseport beim starten unterstützt werden ?$"
;Zu ScanPath
"In welchem Verzeichnis befinden sich die "
"Spiele/Demos etc. ?$"
;Zu LastMsgDelay
"In einer Statuszeile werden alle mögliche Dinge angezeigt. "
"Wieviel Sekunden soll die Letzte Nachricht eingeblendet bleiben ?$"
;Zu BorderSize
"Wie groß soll der Anstand in Bildpunkten zwischen den einzelnen "
"Aktionselementen sein ?$"
;Zu HeightAdd
"Um wieviel Bildpunkte soll ein Aktionsknopf vergrößert werden in der "
"Höhe ?$"
;Zu ButtonWidth
"Wie breit sollen die Aktionsknöpfe sein (in Bildpunkten) ?$"
;Zu ShowWarnings
"Sollen Warnungen ausgegeben werden ?$"
;Zu PlayMusic
"Soll Musik im Hintergrund gespielt werden während der "
"Auswahl und der Vorschau ?$"
;zu files in Prefs
"In Welchem Verzeichnis befinden sich die Musikmodule ? $"
;zu MusicPath
"$"
;Zu ShowPlayTime
"Soll die Abspieldauer der Musikmodule angezeigt werden ? "
"Es gibt einige Module wodurch mit dieser Option das System "
"hängen bleibt.$"
)
MSG_NOVIEWER "Wählen Sie ein geeignetes Programm aus, das Amigaguides anzeigen kann."
MSG_NOVIEWERABORT "%s konnte nicht gefunden werden"
)
))
;
; global variables
;
(set
GLB_MULTIVIEW "Sys:Utilities/MultiView"
GLB_AMIGAGUIDE "C:AmigaGuide"
GLB_OSVERSION 37
GLB_KICKVERSION "2.x"
GLB_DEFAULTDEST ""
GLB_ENVDIR "acone"
GLB_ENVVARS (cat
"new env StartUp "
"all arg StartControl bool JoyStick Mouse 0 "
"all arg ScanPath path "
"exp arg LastMsgDelay integer 4 "
"exp arg BorderSize integer 6 "
"exp arg HeightAdd integer 8 "
"exp arg ButtonWidth integer 120 "
"exp arg ShowWarnings bool Yes No 0 "
"use LIBS:destracker.library "
"all arg PlayMusic bool Yes No 1 "
"if! brk "
"new env Prefs "
"all noa files "
"add env StartUp "
"all arg MusicPath lastpath "
"all arg ShowPlayTime bool On Off 0 "
)
GLB_ENVS (cat
"env StartUp "
"env Prefs "
)
GLB_HELPDIRS ""
GLB_EXIT false
GLB_LASTPATH ""
GLB_ELEMENT ""
GLB_MESSAGE ""
GLB_ENV ""
GLB_HELPDIR ""
GLB_CFGFILE ""
GLB_ENVFILE ""
GLB_ENVARCFILE ""
GLB_ADDARG ""
GLB_RETARG ""
GLB_EMPTY ""
GLB_BOOL ""
)
;
; procedures
;
(procedure setKickVersion (
(if (= osversion 31) (set kickversion "1.x"))
(if (= osversion 33) (set kickversion "1.2"))
(if (= osversion 34) (set kickversion "1.3"))
(if (= osversion 37) (set kickversion "2.x"))
(if (= osversion 38) (set kickversion "2.1"))
(if (= osversion 39) (set kickversion "3.x"))
(if (= osversion 40) (set kickversion "3.1"))
))
(procedure checkOSVersion (
(set osversion (/ (getversion) 65536))
(setKickVersion)
(if (< osversion GLB_OSVERSION)
(abort (MSG_WRONGSYSVERSION @app-name GLB_KICKVERSION kickversion))
)
))
(procedure installProgram (
(while (OR (= GLB_DEFAULTDEST "") (NOT (= (exists GLB_DEFAULTDEST (noreq)) 2))) (
(set GLB_DEFAULTDEST (askdir
(prompt (MSG_WHICHDEST @app-name))
(help (MSG_WHICHDESTHELP @app-name))
(default GLB_DEFAULTDEST)
(disk)
))
))
(if (> @user-level 0) (set GLB_DEFAULTDEST (tackon GLB_DEFAULTDEST @app-name)))
(set @default-dest GLB_DEFAULTDEST)
(makedir GLB_DEFAULTDEST (infos))
(copyfiles (
(source "")
(dest GLB_DEFAULTDEST)
(infos)
(all)
))
(set GLB_WHICHWAY 1)
))
(procedure getNextElement (
(set subcount 0)
(while (= (= (substr GLB_ENVVARS (+ counter subcount) 1) " ") false )
(set subcount (+ subcount 1))
)
(set GLB_ELEMENT (substr GLB_ENVVARS counter subcount))
(set counter (+ counter (+ subcount 1)))
))
(procedure getNextMessage (
(set subcount 0)
(while (= (= (substr MSG_ENVVARS (+ msgcounter subcount) 1) "$") false )
(set subcount (+ subcount 1))
)
(set GLB_MESSAGE (substr MSG_ENVVARS msgcounter subcount))
(set msgcounter (+ msgcounter (+ subcount 1)))
))
(procedure getNextEnv (
(set subcount 0)
(while (= (= (substr GLB_ENVS (+ envcounter subcount) 1) " ") false )
(set subcount (+ subcount 1))
)
(set GLB_ENV (substr GLB_ENVS envcounter subcount))
(set envcounter (+ envcounter (+ subcount 1)))
))
(procedure getNextHelp (
(set subcount 0)
(while (= (= (substr GLB_HELPDIRS (+ hlpcounter subcount) 1) " ") false )
(set subcount (+ subcount 1))
)
(set GLB_HELPDIR (substr GLB_HELPDIRS hlpcounter subcount))
(set hlpcounter (+ hlpcounter (+ subcount 1)))
))
(procedure wichConfig (
(getNextElement)
(if (= GLB_ELEMENT "env") (
(getNextElement)
(set
GLB_ENVFILE (tackon (tackon "ENV:" GLB_ENVDIR) (cat @app-name "." GLB_ELEMENT))
GLB_ENVARCFILE (tackon (tackon "ENVARC:" GLB_ENVDIR) (cat @app-name "." GLB_ELEMENT))
GLB_CFGFILE ""
GLB_ELEMENT ""
)
))
(if (= GLB_ELEMENT "cfg") (
(getNextElement)
(set
GLB_ENVFILE ""
GLB_ENVARCFILE ""
GLB_CFGFILE (tackon GLB_DEFAULTDEST (cat @app-name "." GLB_ELEMENT))
GLB_ELEMENT ""
)
))
))
(procedure wichEnvConfig (
(getNextEnv)
(if (= GLB_ENV "env") (
(getNextEnv)
(set
GLB_ENVFILE (tackon (tackon "ENV:" GLB_ENVDIR) (cat @app-name "." GLB_ENV))
GLB_ENVARCFILE (tackon (tackon "ENVARC:" GLB_ENVDIR) (cat @app-name "." GLB_ENV))
GLB_CFGFILE ""
GLB_ENV ""
)
))
(if (= GLB_ENV "cfg") (
(getNextEnv)
(set
GLB_ENVFILE ""
GLB_ENVARCFILE ""
GLB_CFGFILE (tackon GLB_DEFAULTDEST (cat @app-name "." GLB_ENV))
GLB_ENV ""
)
))
))
(procedure addToConfig (
(if (= GLB_ADDARG "")
(set operatestream "\" > ")
(set operatestream "\" >> ")
)
(if (= GLB_CFGFILE "") (
(run (cat "echo \"" GLB_ADDARG operatestream GLB_ENVFILE))
(run (cat "echo \"" GLB_ADDARG operatestream GLB_ENVARCFILE))
)(
(run (cat "echo \"" GLB_ADDARG operatestream GLB_CFGFILE))
))
))
(procedure getLastPath (
(set GLB_LASTPATH (askdir
(prompt GLB_MESSAGE)
(help GLB_MESSAGE)
(default GLB_LASTPATH)
(disk)
))
))
(procedure runOptions (
(getNextElement)
(if (= GLB_ELEMENT "lastpath") (set GLB_RETARG GLB_LASTPATH))
(if (= GLB_ELEMENT "path") (
(getLastPath)
(set GLB_RETARG GLB_LASTPATH)
))
(if (= GLB_ELEMENT "files") (
(getLastPath)
(foreach GLB_LASTPATH "#?" (
(set GLB_ADDARG @each-name)
(addToConfig)
))
(set GLB_ADDARG "")
(set GLB_RETARG "")
))
(if (= GLB_ELEMENT "integer") (
(getNextElement)
(set GLB_RETARG (asknumber
(prompt GLB_MESSAGE)
(help GLB_MESSAGE)
(default GLB_ELEMENT)
))
))
(if (= GLB_ELEMENT "bool") (
(getNextElement)
(set bool_yes GLB_ELEMENT)
(getNextElement)
(set bool_no GLB_ELEMENT)
(getNextElement)
(set GLB_RETARG (askbool
(prompt GLB_MESSAGE)
(help GLB_MESSAGE)
(default GLB_ELEMENT)
))
(if GLB_RETARG (
(set GLB_RETARG bool_yes)
(set GLB_BOOL true)
)(
(set GLB_RETARG bool_no)
(set GLB_BOOL false)
))
(set GLB_ELEMENT "")
))
))
(procedure configProgram (
(set hld (tackon "ENV:" GLB_ENVDIR))
(if (= (exists hld) 0) (makedir hld))
(set hld (tackon "ENVARC:" GLB_ENVDIR))
(if (= (exists hld) 0) (makedir hld))
(set
counter 0
msgcounter 0
GLB_EXIT false
)
(while (= GLB_EXIT false) (
(getNextElement)
(if (= GLB_ELEMENT "new") (
(wichConfig)
(set GLB_ADDARG "")
(addToConfig)
(set GLB_ELEMENT "")
))
(if (= GLB_ELEMENT "add") (
(wichConfig)
(set GLB_ELEMENT "")
))
(if (= GLB_ELEMENT "use") (
(getNextElement)
(if (= (exists GLB_ELEMENT) false) (set GLB_EXIT true))
(set GLB_ELEMENT "")
))
(if (= GLB_ELEMENT "if!") (
(if (= GLB_BOOL false) (set GLB_EXIT true))
(set GLB_ELEMENT "")
))
(set gateisopen false)
(if (= GLB_ELEMENT "all") (
(set gateisopen true)
(getNextElement)
(getNextMessage)
))
(if (= GLB_ELEMENT "exp") (
(if (= @user-level 2) (set gateisopen true))
(getNextElement)
(getNextMessage)
))
(if gateisopen (
(if (= GLB_ELEMENT "arg") (
(getNextElement)
(set
GLB_ADDARG (cat GLB_ELEMENT "=")
GLB_ELEMENT ""
)
))
(if (= GLB_ELEMENT "noa") (
(set
GLB_ADDARG ""
GLB_ELEMENT ""
)
))
(runOptions)
(set
GLB_ADDARG (cat GLB_ADDARG GLB_RETARG)
GLB_RETARG ""
)
(if (= (= GLB_ADDARG "") false) (addToConfig))
))
(if (= counter (strlen GLB_ENVVARS)) (set GLB_EXIT true))
))
(set GLB_WHICHWAY 3)
))
(procedure deleteIfEmpty (
(set hld true)
(foreach GLB_EMPTY "#?" (set hld false))
(if hld (delete GLB_EMPTY))
))
(procedure destallProgram (
(set
envcounter 0
GLB_EXIT false
)
(while (= GLB_EXIT false) (
(wichEnvConfig)
(delete GLB_CFGFILE)
(delete GLB_ENVFILE)
(delete GLB_ENVARCFILE)
(if (= envcounter (strlen GLB_ENVS)) (set GLB_EXIT true))
))
(set GLB_EMPTY (tackon "ENV:" GLB_ENVDIR))
(deleteIfEmpty)
(set GLB_EMPTY (tackon "ENVARC:" GLB_ENVDIR))
(deleteIfEmpty)
(set GLB_WHICHWAY 3)
))
(procedure selectWhichWay (
(set whichway (askchoice
(prompt MSG_WICHWAY)
(help MSG_WICHWAYHELP)
(choices
MSG_INSTALL
MSG_CONFIG
MSG_DESTALL
MSG_QUIT
)
(default GLB_WHICHWAY)
)
)
(set selnum (+ selnum 1))
(if (= whichway 0) (installProgram))
(if (= whichway 1) (configProgram))
(if (= whichway 2) (destallProgram))
))
(procedure modifyThings (
(if (AND (exists (tackon GLB_DEFAULTDEST (cat @app-name "000"))) (< (database "cpu") "68020")) (
(rename (tackon GLB_DEFAULTDEST @app-name) (tackon GLB_DEFAULTDEST (cat @app-name "020")))
(rename (tackon GLB_DEFAULTDEST (cat @app-name "000")) (tackon GLB_DEFAULTDEST @app-name))
))
(if (AND (exists (tackon GLB_DEFAULTDEST (cat @app-name "020"))) (>= (database "cpu") "68020")) (
(rename (tackon GLB_DEFAULTDEST @app-name) (tackon GLB_DEFAULTDEST (cat @app-name "000")))
(rename (tackon GLB_DEFAULTDEST (cat @app-name "020")) (tackon GLB_DEFAULTDEST @app-name))
))
(set GLB_HELPDIRS "")
(foreach "help" "#?" (
(if (> @each-type 0) (set GLB_HELPDIRS (cat GLB_HELPDIRS @each-name " ")))
))
(set
hlpcounter 0
GLB_EXIT false
)
(if (< osversion 39)
(set viewer GLB_AMIGAGUIDE)
(set viewer GLB_MULTIVIEW)
)
(if (= (exists viewer) 0) (
(if (= @user-level 0) (abort (MSG_NOVIEWERABORT viewer)))
(while (OR (= viewer "") (NOT (= (exists viewer (noreq)) 1))) (
(set viewer (askfile
(prompt (MSG_NOVIEWER viewer))
(help (MSG_NOVIEWER viewer))
(default viewer)
))
))
))
(while (= GLB_EXIT false) (
(getNextHelp)
(foreach (tackon "help" GLB_HELPDIR) "~(#?.info)" (
(tooltype (
(dest (tackon (tackon (tackon GLB_DEFAULTDEST "help") GLB_HELPDIR) @each-name))
(setdefaulttool viewer)
))
))
(if (= hlpcounter (strlen GLB_HELPDIRS)) (set GLB_EXIT true))
))
))
;
; main
;
(set @default-dest "")
(if (= @user-level 0)
(set GLB_WHICHWAY 1)
(set GLB_WHICHWAY 0)
)
(checkOSVersion)
(set selnum 0)
(while (< whichway 3)
(selectWhichWay)
)
(if (> selnum 1) (modifyThings))